Force feedback member control method and system

ABSTRACT

A method and a system for controlling a force feedback member able to interact with another member, including a local model for calculating a set point addressed to the force feedback member from a plurality of variables, and a remote model for estimating interactions and variables of the other member, with updating on receiving data from another remote system, and resynchronizer means able to send a resynchronization message to the other system.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to transmission of force feedback over along distance, in particular in the context of developing distributedvirtual worlds and telepresence systems.

2. Description of the Prior Art

In the same way that digital video coding techniques are based on aknowledge of visual perception and voice recognition techniques arebased on a knowledge of hearing, haptic techniques (from the Greekhaptos: hand) are based on a knowledge of gestures.

There are two sorts of fine gesture that can be executed by the hand:ballistic gestures, such as moving the hand toward a glass before takinghold of it, and gestures with touch feedback, such as moving the glasstoward the mouth after taking hold of it and closing the clamp formed bythe thumb and the fingers. The brain is then informed continuously ofthe force with which the hand is gripping the glass and of the weight ofthe glass, which depends on the quantity of liquid in it. The brain thenreacts by giving the motor instruction to “grasp” the glass sufficientlytightly for it not to be dropped, but not too tightly, so as not tobreak it or expend energy uselessly.

Ballistic gestures activate the motor reflex arc but they do notactivate the touch feedback sensing reflex arc. Force feedback can be avisual representation of the space, but also a gestural map, that is tosay a learned or innate mental representation hardwired into the brainand which automatically generates the sequence of motor instructions tothe muscles of the shoulder, the arm and the hand to perform theballistic gesture as a function of a particular mental representation ofthe space, in particular of the assumed hand-glass distance.

For ballistic gestures, it is sufficient to transmit information on thegesture to the brain with a sampling frequency of 100 Hz. This meansthat if a sample of the signal is sent every 10 ms, the signaltransmitted will contain all the information pertinent to the ballisticgesture.

Gestures with touch feedback simultaneously activate the motor reflexarc and the sensing reflex arc. The brain closes the loop and in humansthe complete cycle takes less than 1 ms. The bandwidth of the sensingneurons in the ends of the fingers, i.e. the maximum mechanical signalfrequency that the neurons can detect and transmit to the brain, isgreater than 500 Hz. To be able to code a fine gesture in a computer,the force feedback system used must itself have a high operatingfrequency, in accordance with Shannon's theorem a frequency of at leasttwice the bandwidth of the fingers.

In practice, force feedback systems on a local machine typically operateat a frequency of 1 kHz and in a local closed loop, meaning thatfeedback is calculated and then applied to their motors and thenperceived by the hand every {fraction (1/1000)} second. This avoids theeffect known as the “electric toothbrush” effect: the instrument held inthe hand must not give the impression of vibrating.

The frequency of 1 kHz results from the following compromise: it mustnot be too low, if the tactile impression is to be reproduced finely, ortoo high, if the computer is to have sufficient time to calculate thefeedback force that will represent the fine simulation of the gestureexecuted in the virtual mechanical world.

If it is necessary to transmit via a telecommunication network finegestures coded by the force feedback system and fine gestures withfeedback, the problem is more complicated because of the generally muchgreater latency introduced by the network itself.

Using the ISDN technology, the latency is 30 ms, using the ADSLtechnology it is of the order of 200 ms, and on the Internet it can beas much as 6 s or even lead to the message being purely and simplyrejected. The ADSL and Internet latency varies because of theasynchronous nature of the networks. The frequency of 1 kHz is thereforemuch too high to be maintained if the closed loop includes a return tripvia the network—the gesture is coded and then transmitted via thenetwork, applied to a remote object, and feedback from the object is inturn coded and sent back via the network.

A ballistic gesture can be transmitted with a time-delay of the order of10 ms. Sight is a monodirectional sense: the eye is a kind of camerarecording a scene and, ignoring a tolerance value, the brain canperceive the precise visual film with a slight time-delay withoutdisturbing the execution of the gesture.

On the other hand, a fine gesture with feedback requires a loop of lessthan one millisecond for the return trip to make the decision on theintensity of the force to be applied:

-   -   sending of the instruction to the muscle via the motor sensing        reflex arc,    -   mechanical action of the hand on the glass,    -   sensation at the ends of the fingers of touching the glass        (increased contact pressure), and    -   return of information to the brain via the tactile sensing        reflex arc to enable the brain to decide to adjust the force        applied to the “clamp”.

A method known as the “wave transform” method for transmitting this kindof fine gesture is nevertheless described by John Wilson and NevilleHogan of MIT in “Algorithms for Network-Based Force Feedback”, FourthPHANTOM Users Group Workshop (PUG 99). The method simulates thetime-delay introduced by the network by means of an artificial viscositythat stabilizes the feedback loop: the greater the time-delay introducedby the network, the more viscous the system.

The “wave transform” method transposes into the force/speed space thetheory of passive quadripole networks with pure time-delay that is wellknown to the skilled person for electrical voltage/current parameters.The theory is used to calculate the incident and reflected electricalwaves as a function of the characteristic impedance of the line.Transmission of the electrical signal is optimized if the line isterminated with the same characteristic impedance.

Ohm's law U=Z×I is transposed into the mechanical space by the lawF=Viscosity×Speed and the “wave transform” method consists of adapting avirtual pure time-delay line by assigning it a characteristic impedance(in reality a viscosity), which is that of the remote-controlled robot.The signal is transmitted in the form of its Z transform,S(z)=Σ(s(t)×e^((2i×π×n×T))) in which T is the fixed time-delay of thenetwork. The greater the time-delay introduced by the network, thegreater the artificial viscosity that must be introduced into the lineto stabilize the distributed mechanical simulation of the fine gesturein a closed loop in the network.

The gestural sensation is undoubtedly distorted, but transmission of theuseful signal is optimized. This method was published following theFourth Users Group Workshop (PUG99).

The “wave transform” method requires a synchronous network, i.e. anetwork whose time-delay is fixed and known, for example an ISDN. It isbased on the Z representation of sampled discrete signals whose periodis equal to the known fixed time-delay of the network.

It is therefore inapplicable to message-based asynchronous Internet, ATMor UMTS type networks, which are characterized by a variabletransmission time-delay and by a rejection if the message is lost ortakes too long to cross the network.

The problem of the excessively fast timing of force feedback systems isexacerbated in asynchronous networks, for which:

-   -   messages can be lost or rejected or fail to arrive if the        acknowledgement is delayed for too long (TCP/IP),    -   messages which reach the correct destination take a variable        time to cross the network,    -   they do not necessarily arrive in the order in which they were        sent, and    -   there is no common clock for the two machines accurate to within        one millisecond.

The invention proposes to remedy the drawbacks of the prior art systems.

SUMMARY OF THE INVENTION

The invention proposes a control system for a force feedback member ableto interact with another member, of the type with a time constant lessthan that associated with remote control, which system includes a localmodel for calculating a set point addressed to the force feedback memberfrom a variable measured by the force feedback member, variablesintrinsic to the force feedback member, an estimate of an externalinteraction with the force feedback member, and a state variable of theforce feedback member, a remote model for estimating interactions andstate variables of the other member with updating on receipt of datafrom another remote system, and resynchronizer means able to send aresynchronization message to the other system.

Thus the behavior of the remote element is simulated locally.

The system advantageously includes a phantom model for obtaining anestimate of state variables of the force feedback member andresynchronizing the estimate on reception of the resynchronizationmessage. The phantom model is used to simulate locally the remote modelof the remote control system.

In one embodiment of the invention, the resynchronizer means includecomparator means for comparing the estimate of state variables from thephantom model and state variables from the local model so that in theevent of a difference exceeding a predetermined threshold theresynchronization means can send a resynchronization message to thephantom model and to the other system.

In one embodiment of the invention, the system includes extrapolatormeans for processing a resynchronization message for updating the remotemodel received from the other system.

The invention also proposes a system for controlling two force feedbackmembers situated at a distance from each other. Each member is providedwith a control system including a local model for calculating a setpoint addressed to the force feedback member from a variable measured bythe force feedback member, variables intrinsic to the force feedbackmember, an estimate of an external interaction with the force feedbackmember, and a force feedback member status variable, a remote model forestimating interactions and state variables of the other member, withupdating on reception of data received from another, remote system, andresynchronization means adapted to send a resynchronization message tothe other system.

The invention also proposes a method of controlling a force feedbackmember able to interact with another member, the method including:

-   -   local modeling to obtain a set point sent to the force feedback        member from a variable measured by the force feedback member,        variables intrinsic to the force feedback member, an estimate of        an external interaction with the force feedback member, and a        state variable of the force feedback member;    -   remote modeling of the interactions and the state variables of        the other member with updating on receiving data from another        remote system;    -   generating a resynchronization message and sending it to said        other system.

The method advantageously includes phantom modeling of state variablesof the force feedback member with resynchronization on receiving theresynchronization message.

In one embodiment of the invention, at the time of resynchronization,the estimate of state variables from the phantom modeling and statevariables from the local modeling are compared so that in the event of adifference exceeding a predetermined threshold a resynchronizationmessage can be sent to the other system with a view to new phantommodeling.

One embodiment of the invention includes extrapolation to process aresynchronization message from the other system and to update the remotemodeling.

The invention also provides a computer program including program codemeans for executing the steps of the method when said program runs on acomputer.

The invention also provides a medium capable of being read by a readerand storing program code means for executing the steps of the methodwhen said program runs on a computer.

The present invention applies with advantage to bidirectional systems,for example video games with control handgrips provided with forcefeedback actuators, and to robotized remote ultrasound scanning, whichcan be used in the field of obstetrics and for abdominal examinations.

In the case of ultrasound scanning, the skin of the patient is generallycoated with a gel to ensure correct transmission of the ultrasound. Theultrasound probe can be manipulated at a distance by an operator.Because of the presence of the gel, the components of force exerted bythe patient on the probe can be considered as normal to the localsurface of the skin. The probe has six degrees of freedom with forcefeedback with respect to three axes of a three-dimensional system ofaxes and torque feedback, also with respect to the three axes of athree-dimensional system of axes. The system can also apply to remotecombat games, fencing games or industrial applications of thetelemachining type.

The present invention will be better understood and other advantageswill become apparent on reading the following detailed description of afew embodiments, which description is given by way of non-limitingexample only and illustrated by the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagrammatic view of a first embodiment of a systemaccording to the invention.

FIG. 2 shows a detail from FIG. 1.

FIG. 3 shows evolution curves for some parameters of the system.

FIG. 4 is a diagrammatic view of a second embodiment of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

As can be seen in FIG. 1, a game system in which players J1 and J2compare their strength remotely—this kind of game is often referred toas an “iron arm” game—includes a handgrip P1 for the player J1 and ahandgrip P2 for the player J2. Each handgrip P1, P2 is connected to aninterface I1, I2 including means for exerting a force on the handgripP1, P2, for example an electric actuator, and means for measuring theforce exerted by the player J1, J2 on the handgrip P1, P2, for example atorque sensor or a strain gauge. The interface I1, I2 also includes anacquisition card connected to the means for exercising a force and tothe measuring means and able to exchange digital data with anotherdigital system such as a computer.

Each interface I1, I2 is connected to a control system S1, S2. In thecase shown here, the systems S1 and S2 are identical. Only the system S1is described. However, embodiments in which one of the two systems is ofsimplified structure compared to the other one can be envisaged.

Generally speaking, the system S1 can take the form of a personalcomputer, generally provided with at least one microprocessor, randomaccess memory and read-only memory, a communication bus, input andoutput ports and one or more programs stored in memory and executed bythe microprocessor.

The system S1 is connected on the one hand to the interface I1, forexample by an RS 232 bus, and to the system S2 by a communicationnetwork 3, which can be a synchronous network (for example an ISDN) oran asynchronous network (for example an ATM or UMTS network or a TCP/IPnetwork like the Internet). The system S1 is located near the player J1,for example in the same room. The system S2 is at a distance from thesystem S1 from a few meters to a few thousand kilometers. In otherwords, the system S1, the interface I1, the handgrip P1 and the playerJ1 can be described as “local” and the system S2, the interface I2, thehandgrip P2 and the player J2 can be described as “remote”.

To be more precise, the system S1 includes a local model ML1 able tosend the interface I1 a set point F_(e) and to receive from saidinterface I1 a variable measured by the interface I1, for example theposition X of the handgrip P1. The set point can be a force or torquevariable. The system S1 includes a remote model MD2 adapted to estimatea state of the local model ML2 of the system S2. The remote model MD2 ofthe system S1 can receive data from the system S2 and from the localmodel ML1 and can send data to the local model ML1. To be more precise,the system S1 includes an extrapolator EXT2 receiving data from thesystem S2 via the communication network 3 in order to process aresynchronization message from the system S2 and transmit update data tothe remote model MD2 as a function of the resynchronization messagereceived last.

The system S1 includes a screen E1 connected to the local model ML1 todisplay data from the local model ML1, for example a curve tracing theevolution of the forces exerted on and the positions of the handgrips P1and P2.

The system S1 includes a resynchronizer R1 receiving data from the localmodel ML1 and adapted to send output data to the system S2, inparticular to the extrapolator EXT1 of the system S2. The resynchronizerR1 can handle data preparation for sending the data in the form of aresynchronization message that can include a time/date, the position Xof the handgrip P1, the force F exerted on the handgrip P1 at saidtime/date and the force exerted on the handgrip P1 at an earliertime/date.

The system S1 further includes a phantom model MF1 which also receivesthe resynchronization messages from the resynchronizer R1 of the systemS1 and estimates state variables of the interface I1 from theresynchronization messages set by the resynchronizer R1 and received bythe system S2. In other words, the phantom model MF1 produces anestimate based on the same data as that received by the remote model MD1of the system S2. Thus the phantom model MF1 is used to model thevariables of the interface I1 as modeled by the system S2.

The output of the phantom model MF1 is connected to the resynchronizerR1 which compares the estimate of the state variables from the phantommodel MF1 and the state variables from the local model ML1. If thedifference exceeds a predetermined threshold, the resynchronizer R1sends a resynchronization message to the phantom model MF1 and to theextrapolator EXT1 of the system S2. Thus the volume of data exchangedbetween the systems S1 and S2 is relatively small because aresynchronization message is sent only if one of the two systems S1, S2estimates that the other system S2, S1 is no longer able to estimate thevariables correctly.

How the system works is clear from FIG. 2. For the player J1, the statevector X breaks down into three parts: a variable part X^(e) at theinterface with the handgrip P1, a variable part X^(m) internal to themechanical model of the player J1, and an interaction variable X^(i) atthe interface with the other player. Similarly, the associated force ortorque variable F breaks down into: a force F^(e) exerted by the playerJ1 on the handgrip P1, a force F^(m) exerted by gravity, other objects,or any other players, and the force F^(i) exerted by the player J1 onthe player J2. In a similar manner, the state vector Y of the player J2breaks down into parts Y′^(e), Y′^(m) and Y′^(i) and the associatedtorque force vector G breaks down into parts G′^(e), G′^(m) and G′^(i).The two players J1 and J2 are in virtual contact. Thus X^(i)=Y^(i). Thelaw of action and reaction then yields: F^(i)+G′^(i)=0.

On each time increment, the interface I1 captures the position X^(e)_(n) and transmits it to the local model ML1. The interface I1 receivesthe set point force F^(e) _(n) from the local model ML1 and uses theforce feedback force −Fe^(e) _(n) to control its actuator(s). Similarly,the interface I2 captures the position Y′^(e) _(n) and transmits it tothe local model ML2 and receives the force G′^(e) _(n) from the localmodel ML2 and controls its actuator(s) with the force feedback force−G^(e) _(n).

At the beginning of the time period n+1 the local model ML1 receives theposition X^(e) _(n+1) from the interface I1, the interaction estimate{tilde over (G)}^(i) _(n+1) from the remote model MD2 and the prestoredintrinsic variables F^(m) _(n+1). The local model ML1 calculates theforce exerted by the player J1 on the player J2:F ^(i) _(n+1) ={tilde over (G)} ^(i) _(n+1)and the force exerted by the player J1 on the handgrip P1:F ^(e) _(n+1) =B ^(ee−1) {X ^(e) _(n+1) −X ^(e) _(n) −A ^(e) X _(n) −B^(em) F ^(m) _(n+1) +B ^(ei{tilde over (G)}) ^(i) _(n+1)},the matrices A and B being those for the evolution of the player J1 withX=AX+BF. The local model ML1 then calculates:$X_{n + 1}^{m,i} = {X_{n}^{m,i} + {A^{m,i}X_{n}} + {B^{m,i}\begin{bmatrix}F_{n + 1}^{e} \\F_{n + 1}^{m} \\{- {\overset{\sim}{G}}_{n + 1}}\end{bmatrix}}}$

The local model ML1 sends X_(n+1) and F_(n+1) to the resynchronizer R1,the set point −F^(e) _(n+1) to the interface I1 and the positionvariable X^(i) _(n+1) to the remote model MD2.

In the event that it does not receive a message from the resynchronizerR1, the phantom model MF1 calculates ^({circumflex over (F)})_(n+1)=^({circumflex over (F)}) _(n)+K₁, K₁ being provided by the systemS2, and the position estimate ^({circumflex over (X)})_(n+1)=(I+A)^({circumflex over (X)}) _(n)+B^({circumflex over (F)})_(n+1), in other words the mechanical state of the player J1 such as itcan be predicted by the system S2. Here I is the identity matrix.

When the phantom model MF1 receives a resynchronization messageM_(n)={n, {overscore (X)}_(n), {overscore (F)}_(n) and {overscore(F)}_(n−1)} from the resynchronizer R1, it carries out the followingresynchronization: {circumflex over (X)}_(n)={overscore (X)}_(n),{circumflex over (F)}_(n)={overscore (F)}_(n) and K1={overscore(F)}_(n)−{overscore (F)}_(n−1).

In each time increment n the resynchronizer R1 receives the positionvariable X_(n) and the force variable F_(n) and F_(n+1) from the localmodel ML1 and the estimate ^({circumflex over (X)}) _(n) from thephantom model MF1. It compares the absolute value of the differencebetween the position variable X_(n) and the estimate^({circumflex over (X)}) _(n) to a predetermined threshold and doesnothing if said absolute value is below said threshold. If said absolutevalue is not below said threshold, it composes a resynchronizationmessage M_(n)={n, X_(n), F_(n), F_(n−1)}. The resynchronizer R1 sendsthe resynchronization message M_(n) to the phantom model MF1 so that itresynchronizes itself immediately and to the remote model MD1 via theextrapolator EXT1 of the system S2 so that it resynchronizes itself assoon as possible.

The extrapolator EXT2 of the system S1 is used for synchronization. Themessage M_(p)={p, Y_(p), G_(p), G_(p−1)} sent by the resynchronizer R2of the system S2 reaches the system S1 at a time from n to n+1. However,the message M_(p) is stamped with the time/date p from the system S2.The extrapolator EXT2 calculates K₂=G_(p)−G_(p−1) and resynchronizes theremote model MD2 as follows: ^({overscore (G)}) _(p)=G_(p) and^({overscore (Y)}) _(p)=Y_(p), and then at the subsequent times, andregardless of the outcome: j=p, . . . , n, ^({overscore (G)})_(j+1)=^({overscore (G)}) _(j)+K2 and ^({overscore (Y)})_(j+1)=^({overscore (Y)}) _(j)+C^({overscore (Y)})_(j)+D^({overscore (G)}) _(j+1), C and D being the matrices equivalentto the matrices A and B for the player J2. The extrapolator EXT2 sendsthe remote model MD2 the resynchronization result ^({overscore (Y)})_(n+1),^({overscore (G)}) _(n+1) and K₂.

The remote model MD2 of the system S1 resynchronizes itself on receivinga message from the extrapolator EXT2, taking the values supplied by saidextrapolator EXT2:{tilde over (G)} _(n+1) ={overscore (G)} _(n+1) ,{tilde over (Y)} _(n+1)={overscore (Y)} _(n+1) and {tilde over (K)} ₂ =K ₂

When not receiving any such message, and on each time increment, theremote model MD2 receives the position variable X^(i) _(n+1) from thelocal model ML1 and performs a predictive calculation:{tilde over (G)} ^(e′,m′) _(n+1)={tilde over (G)}^(e′,m′) _(n){tildeover (K)}^(e′,m′)2{tilde over (G)} ^(i) _(n+1) =D ^(ii−1) {X ^(i) _(n+1) −{tilde over (Y)}^(i) _(n) −C{tilde over (Y)} ^(i) _(n) −D ^(e′) G ^(e′) _(n+1) −D ^(m′)G ^(m′) _(n+1)}{tilde over (Y)} ^(e′,m′) _(n+1) ={tilde over (Y)} ^(e′,m′) _(n) +C^(e′,m′) {tilde over (Y)} _(n) +D ^(e′,m′) {tilde over (G)} _(n+1){tilde over (Y)} ^(i) _(n+1) =X ^(i) _(n+1)

The remote model MD2 sends the local model ML1 the position variableprediction ^({tilde over (G)}) _(n+1) relating to the player J2.

The extrapolator EXT2 preferably effects a bevel resynchronization whichsmoothes the changes. One example of such resynchronization is shown inthe FIG. 3 curves. Instead of changing the estimate of the positionvariable Y suddenly to the variable {overscore (Y)} as calculated by theextrapolator EXT2 in the manner explained above, the resynchronizationis effected in four steps between times n and n+4, as follows:k=| ^({tilde over (Y)}) _(n+1) −{overscore (Y)} _(n+)|/threshold+1.

If k=1, then ^({tilde over (Y)}) _(n+1):=^({overscore (Y)}) _(n+1).

If not, j=n,

 {overscore (G)} _(j+1) ={overscore (G)} _(j) +K2{overscore (Y)} _(j+1) ={overscore (Y)} _(j) +C{overscore (Y)} _(j)+D{overscore (G)} _(j+1){tilde over (Y)} _(j+1) :={tilde over (Y)} _(j) +C{tilde over (Y)} _(j)+D{overscore (G)} _(j+1){tilde over (Y)} _(j+1)=({overscore (Y)} _(j+1)+(K−1){tilde over (Y)}_(j+1))/kj:=j+1

If k is greater than 2, then k:=k−1

Otherwise the loop is left and ^({tilde over (Y)})_(j+1)=^({overscore (Y)}) _(j+1). The bevel resynchronization enablesthe system to operate more smoothly, which is better appreciated byusers and entails fewer mechanical constraints.

More generally, the phantom model MF1 receives the same data as theremote model MD1 of the other system and can effect the same simulationas said other system. In other words, a search is conducted to find outwhat the other system does not know for the purposes ofresynchronization. The resynchronizer works blind relative to the othersystem and enables simulation to continue in the absence of pertinentdata transmitted by a resynchronization message from the other system.Especially in the case of bevel resynchronization, the extrapolator EXT2takes account of movement as measured by the other system during thetransmission time-delay caused by the communication network. In asimplified variant, it is perfectly conceivable for either or bothsystems to have no phantom model. A number of systems greater than twocan equally be made to work together.

The local models represent the mechanical models of the two users. Theremote models represent a remote replication of the local mechanicalmodels which is necessarily approximate because of the time-delays ontransmitting the states of the local models via the communicationnetwork. The phantom models represent an approximate local copy of theremote model. The remote models and the phantom models both work inpredictor-corrector mode. The extrapolators extrapolate messagesreceived with a certain time-delay to resynchronize the remote models tothe clock value of the other system. The resynchronizers evaluate thenecessity to launch a resynchronization message into the communicationnetwork as soon as there is too great a difference between the localmodels and the local witness predictive phantom models of the remotepredictive models. The resynchronizers limit the number of messages sentvia the communication network to avoid congestion on the network. Withina system, information can be exchanged at the rate of 1 kHz. Between thesystems, and therefore via the communication network, messages areexchanged if one of the resynchronizers considers it to be necessary.

FIG. 4 shows an embodiment of the invention intended for ultrasoundscanning. A control system S1 is installed in an establishment that doesnot specialize in obstetrics, for example in an establishment of a smalltown or in a vehicle serving rural areas. The system S2 is installed ina specialized hospital establishment in which highly qualified operatorsare available to perform the ultrasound scanning operations, for examplea regional or teaching hospital. A patient J3 lies on a bed or a tableT. An ultrasound scanning probe SE is in contact with their abdomen. Apanel TR for adjusting parameters of the probe SE is installed nearby.The probe SE is connected to the system S1 and transmits ultrasoundscanning image data to said system S1; it also exchanges data relatingto the position of and to the actions exerted by the system S1. Toclarify the drawing, the support of the probe SE is not shown; it can bean articulated arm. Nevertheless, it is to be understood that thissupport provides movement in space with several degrees of freedom, ingeneral at least six degrees of freedom, so that a suitable position incontact with the abdomen of the patient J3 can be adopted. A microphoneMI3 and a loudspeaker HP3 are connected to the system S1 to enable thepatient to converse with the remote operator. A video camera CA3 pointstoward the patient J3 and a video screen EV3 enables the patient to seeeither the remote operator or the ultrasound scanning images. The videocamera CA3 and the video screen EV3 are also connected to the system S1.In addition to the items described with reference to FIGS. 1 and 2, thesystems S1 and S2 each include a multiplexer-demultiplexer DM1 and DM2for transmitting data via the network 3, which can be an ADSL network,for example.

The operator J4 of the system S2, who can be a doctor specializing inultrasound scanning, manipulates a handgrip P3 whose position in spaceis replicated by the probe SE. The handgrip P3 is connected to anarticulated arm BA which is in turn connected to an interface I3 whichis of the same kind as the interfaces I1 and I2 described above andincludes one or more actuators and one or more position sensors andforce sensors. The effect can be measured by measuring an actuatorenergy parameter, for example the current drawn, or by means of a straingauge. The interface I3 is connected to the system S2.

A video camera CA4 points toward the operator J4 and the pictures itgenerates can be displayed on the screen EV3. A microphone MI4 and aloudspeaker HP4 enable the operator J4 to converse with the patient J3.These items are connected to the system S2. A large video screen EV4displays a plurality of images simultaneously, for example an ultrasoundscanning image, an image of the face of the patient J3 and an imageshowing the position of the probe SE on the abdomen of the patient.

1. A system for controlling the interaction of a first force feedbackmember with a second force feedback member, wherein the first forcefeedback member and the second force feedback member are communicablycoupled, the system comprising: a local model, wherein the local modelis configured to calculate a set point associated with the first forcefeedback member from: a variable measured by the first force feedbackmember, variables intrinsic to the first force feedback member; and anestimate of the interaction with the second member, and of a statevariable of the first force feedback member; a remote model communicablycoupled to the local model, wherein the remote model is configured toestimate the state variables of the second member and to receive updateddata from the second member; and a resynchronizer communicably coupledto the local model wherein the resynchronizer is configured to send aresynchronization message to the second member.
 2. The system of claim1, further comprising a phantom model, wherein the phantom model iscommunicably coupled to the resynchronizer, wherein the phantom model isconfigured to estimate state variables of the first force feedbackmember based on resynchronization signals received from theresynchronizer.
 3. The system of claim 2, wherein the resynchronizercomprises a comparator, wherein the comparator compares the estimate ofthe state variables from the phantom model with the state variables fromthe local model, wherein the resynchronizer is configured to send aresynchronization message to the phantom model and to the second forcefeedback member when the comparator determines that the differencebetween the state variables from the phantom model and the statevariables from the local model exceeds a predetermined value.
 4. Thesystem of claim 1, further comprising an extrapolator, wherein theextrapolator is configured to receive a resynchronization message fromthe second force feedback member for updating the remote model of thefirst system.
 5. A system for controlling a first force feedback memberand a second remote force feedback member, wherein each member isprovided with a control system, each of the control systems comprising:a local model, wherein the local model is configured to calculate a setpoint associated with the force feedback member from: a variablemeasured by the force feedback member, variables intrinsic to the forcefeedback member; and an estimate of the interaction with the other forcefeedback member and of a state variable of the force feedback member; aremote model communicably coupled to the local model, wherein the remotemodel is configured to estimate the state variables of the other forcefeedback member and to receive updated data from the other forcefeedback member; and a resynchronizer communicably coupled to the localmodel wherein the resynchronizer is configured to send aresynchronization message to the other force feedback member.
 6. Amethod of controlling a force feedback member able to interact with asecond force feedback member, the method comprising: using a local modelto determine a set point associated with the first force feedback memberfrom: a variable measured by the first force feedback member; variablesintrinsic to the first force feedback member; and an estimate of theinteraction with the second force feedback member and of a statevariable of the first force feedback member; using a remote model todetermine interactions and state variables of the second force feedbackmember; using a remote model to receive updating data from the secondforce feedback member; and generating a resynchronization message andsending it to the second force feedback member.
 7. The method of claim6, further comprising using a phantom model to estimate state variablesof the first force feedback member based on resynchronization signalsreceived from the resynchronizer.
 8. The method of claim 7, whereingenerating a resynchronization message comprises comparing the statevariables from the phantom model with the state variables from the localmodel, wherein a resynchronization message is generated when thedifference between the state variables from the phantom model and thestate variables from the local model exceeds a predetermined value. 9.The method of claim 6, further comprising processing a resynchronizationmessage from the second force feedback member with an extrapolator; andupdating the remote model of the first force feedback member based onthe received resynchronization message from the second force feedbackmember.
 10. A computer program including program code for executing thesteps of a method of controlling a first force feedback member able tointeract with a second force feedback member when said program runs on acomputer, the method comprising: using a local model to determine a setpoint associated with the first force feedback member from: a variablemeasured by the first force feedback member; variables intrinsic to thefirst force feedback member; and an estimate of the interaction with thesecond force feedback member and of a state variable of the first forcefeedback member; using a remote model to determine interactions andstate variables of the second force feedback member; using a remotemodel to receive updating data from the second force feedback member;and generating a resynchronizatiOn message and sending it to the secondforce feedback member.
 11. A medium capable of being read by a readerand storing program code means for executing the steps of a method ofcontrolling a first force feedback member able to interact with a secondforce feedback member when the program runs on a computer, the methodcomprising: using a local model to determine a set point associated withthe first force feedback member from: a variable measured by the firstforce feedback member; variables intrinsic to the first force feedbackmember; and an estimate of the interaction with the second forcefeedback member and of a state variable of the first force feedbackmember; using a remote model to determine interactions and statevariables of the second force feedback member; using a remote model toreceive updating data from the second force feedback member; andgenerating a resynchronization message and sending it to the secondforce feedback member.